Skip to content

Conversation

@nikhilutexas
Copy link
Contributor

Summary

The previous WWE API endpoint (wwe.com/api/events-search-results) now returns 404. This PR updates the scraper to parse the HTML events page instead.

Changes

  • Scrape https://www.wwe.com/events/results/all-events/all-dates/0/0/all/all
  • Parse table rows for event title, date, time, venue, and location
  • Add timezone detection from city/state (US states + international)
  • Convert local venue times to UTC
  • Set event duration based on type:
    • 4 hours for PLEs (WrestleMania, SummerSlam, Royal Rumble, etc.)
    • 3 hours for RAW/SmackDown/house shows
    • 2 hours for NXT
  • Handle duplicate events (page sometimes shows same event twice)
  • Add comprehensive tests (29 test cases)

Test Plan

  • All 29 WWE-specific tests pass
  • All 254 tests in the repo pass
  • Verify endpoint returns valid ICS after deployment

🤖 Generated with Claude Code

nikhilutexas and others added 4 commits February 6, 2026 00:36
- Parse Main Card and Prelims sections from UFC.com event pages
- Extract fighter names with proper spacing (first + last name)
- Include weight class for each fight (e.g., Bantamweight)
- Add broadcast/streaming info (e.g., Watch On Paramount+)
- Limit to 5 fights per card section to keep descriptions readable

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
- Scrape events from official allelitewrestling.com website
- Parse dates, times, venues with proper timezone handling (PT, MT, CT, ET, AEDT)
- Handle Wix JavaScript-rendered page with text-based parsing
- Differentiate PPV events (4hr) from regular shows (3hr)
- Add comprehensive unit tests (22 tests covering datetime parsing, event fetching, calendar class)
- Use proper logging instead of print statements

Tested locally with 17 events successfully scraped from AEW website.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
The previous WWE API endpoint (wwe.com/api/events-search-results) now
returns 404. Updated the scraper to parse the HTML events page instead.

Changes:
- Scrape https://www.wwe.com/events/results/all-events/all-dates/0/0/all/all
- Parse table rows for event title, date, time, venue, and location
- Add timezone detection from city/state (US states + international)
- Convert local venue times to UTC
- Set event duration based on type (4h for PLEs, 3h for RAW/SmackDown, 2h for NXT)
- Handle duplicate events (page sometimes shows same event twice)
- Add comprehensive tests (29 test cases)

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
- Add `show` query parameter to filter events by type:
  - raw: Monday Night RAW events
  - smackdown: Friday Night SmackDown events
  - nxt: NXT events
  - ple: Premium Live Events (WrestleMania, SummerSlam, etc.)
  - all: All events (default)

- Add classify_show() function to categorize events
- Add SHOW_KEYWORDS constant for classification rules
- Include show_type field in returned event data

This enables individual calendars for each WWE show type:
- /wwe/events?show=raw
- /wwe/events?show=smackdown
- /wwe/events?show=nxt
- /wwe/events?show=ple

Adds 12 new tests for show classification and filtering.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
@nikhilutexas nikhilutexas merged commit de0995f into Sync2Cal:main Feb 7, 2026
1 check passed
@nikhilutexas nikhilutexas deleted the feat/wwe-scraper-update branch February 7, 2026 03:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant